import request from '../utils/Request.js';

/**
 * 数据管理API模块
 */
const dataManageApi = {
  getAuditPeriods: () => {
    return request.get({
      url: '/audit/period',
    });
  },
  /**
   * 获取待审核报表列表
   * @param {Object} [params] - 查询参数
   * @param {number} [params.page=1] - 页码
   * @param {number} [params.pageSize=10] - 每页数量
   * @param {string} [params.enterprise_name] - 企业名称模糊搜索
   * @param {number} [params.industry] - 所属行业
   * @param {number} [params.nature] - 企业性质
   * @param {number} [params.period_id] - 调查期
   * @param {number} [params.reduction_type] - 减少类型
   * @param {number} [params.region] - 市
   * @returns {Promise} 返回待审核报表列表
   */
  getPendingReviews: (params = {}) => {
    // 设置默认参数
    const defaultParams = {
      page: 1,
      pageSize: 10,
      ...params,
    };
    
    return request.post({
      url: '/audit/loadDataList',
      params: defaultParams,
    });
  },

  /**
   * 查看报表详情
   * @param {string} reportId - 报表ID
   * @returns {Promise} 返回报表详情
   */
  getReportDetail: (reportId) => {
    return request.get({
      url: `/audit/${reportId}/detail`,
    });
  },

  /**
   * 审核通过报表
   * @param {Object} params - 请求参数
   * @param {string} params.enterprise_id - 企业ID
   * @param {number} params.period_id - 调查期ID
   * @param {string} params.report_id - 报表ID
   * @returns {Promise} 返回审核结果
   */
  approveReport: (params) => {
    return request.post({
      url: '/audit/approve',
      params: params,
    });
  },

  /**
   * 审核驳回报表
   * @param {Object} params - 请求参数
   * @param {string} params.enterprise_id - 企业ID
   * @param {number} params.period_id - 调查期ID
   * @param {string} params.report_id - 报表ID
   * @param {string} params.reject_reason - 驳回原因
   * @returns {Promise} 返回驳回结果
   */
  rejectReport: (params) => {
    return request.post({
      url: '/audit/reject',
      params: params,
    });
  },

  /**
   * 提醒企业上传报表
   * @param {string} reportId - 报表ID
   * @returns {Promise} 返回提醒结果
   */
  remindReport: (reportId) => {
    return request.post({
      url: `/audit/${reportId}/remind`,
    });
  },

  /**
   * 上传报表
   * @param {string} reportId - 报表ID
   * @param {string} enterpriseId - 企业ID
   * @param {number} periodId - 调查期ID
   * @returns {Promise} 返回上传结果
   */
  uploadReport: (params) => {
    return request.post({
      url: `/audit/upload`,
      params: params,
    });
  },
};

export default dataManageApi;
